package com.drink.yan.intf.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.drink.yan.intf.entity.io.YanJsonMapIo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.meta.framework.common.annotation.Excel;
import com.meta.framework.copy.Copyable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 学长学姐
 *
 * @Title:
 * @Package: com.drink.yan.intf.entity.
 * @Author: M.simple
 * @Remark: The modified content
 * @CreateDate: 2023/11/25 11:16
 * @Version: v2.0
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
@TableName(value = "yan_user_senior", autoResultMap = true)
public class YanUserSenior extends Copyable {

	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	private Long userId;

	private String opSource;

	@ApiModelProperty("研究生学校")
	private Long masterSchId;

	@Excel(name = "研究生学校", sort = 4)
	@ApiModelProperty("研究生学校")
	private String masterSchName;

	@ApiModelProperty("研究生专业")
	private Long masterSpeId;

	@Excel(name = "研究生专业", sort = 5)
	@ApiModelProperty("研究生专业")
	private String masterSpeName;

	@Excel(name = "入学年份", sort = 6)
	@ApiModelProperty("入学时间")
	private String inSchYear;

	@ApiModelProperty("学习方式")
	private String recruitType;

	@Excel(name = "学习方式", sort = 7)
	@ApiModelProperty("学习方式")
	private String recruitName;

	@Excel(name = "初试分数", sort = 8)
	@ApiModelProperty("初试分数")
	private BigDecimal firstScore;

	@Excel(name = "业务课一", sort = 8)
	@ApiModelProperty("业务课一")
	private BigDecimal scoreOne;


	@Excel(name = "业务课一", sort = 8)
	@ApiModelProperty("业务课一")
	private BigDecimal scoreTwo;

	@TableField(value = "cert_img_list", typeHandler = JacksonTypeHandler.class)
	@ApiModelProperty("证明文件")
	private List<String> certImgList;

	@TableField(value = "service_list", typeHandler = JacksonTypeHandler.class)
	private List<YanJsonMapIo> serviceList;

	@ApiModelProperty("状态, create:已申请，fail:申请失败，success:申请成功")
	private String status;

	@Excel(name = "审核时间", sort = 13)
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private LocalDateTime checkTime;

	private String delFlag;
	private Long createBy;

	@Excel(name = "添加时间", sort = 12)
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private LocalDateTime createTime;
	private Long updateBy;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private LocalDateTime updateTime;
	private String remark;
}
